#ifndef _SYSTEM_DEBUG_H
#define _SYSTEM_DEBUG_H

#include <stdlib.h>
#include <stdint.h>

int log_print(const char *format, ...);
void print_current_time(void);
void hj_assert_handler(const char *ex_string, const char *file, const char *func, int line);

void hj_dbg_log_hex(const char *lvl_name, const char *begin, const void *hex, int len, int width, const char *format, ...);
void hj_dbg_log_line(const char *lvl_name, const char *begin, const char *format, ...);

#define SYSTEM_ASSERT(EX)   \
if (!(EX))                  \
{                           \
    hj_assert_handler(#EX, __FILE__, __FUNCTION__, __LINE__);     \
}






#endif
